package com.example.basic.web.model.pharmZone;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.basic.base.IdEntity;
import com.example.basic.base.event.PreCreateEventEntity;
import com.example.basic.base.event.PreUpdateEventEntity;
import com.example.basic.utils.CommonConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * <p>
 * 仓库分区表
 * </p>
 *
 * @roleor zzl
 * @since 2024-3-14
 */
@Data
@TableName("sys_pharm_zone")
@ApiModel(value="PharmZone对象", description="仓库分区表")
public class PharmZone extends IdEntity implements PreCreateEventEntity, PreUpdateEventEntity {

    @ApiModelProperty(value = "数据id")
    @TableId(value = "id")
    @ExcelIgnore
    private String id;

    @ApiModelProperty(value = "数据创建时间")
    @TableField(value = "create_at", fill = FieldFill.INSERT)
    @JSONField(format = CommonConstant.TIME_FORMAT_EIGHTEEN)
    @ExcelIgnore
    private Date createAt;

    @ApiModelProperty(value = "数据创建人")
    @TableField("create_by")
    @ExcelIgnore
    private String createBy;

    @ApiModelProperty(value = "数据修改时间")
    @TableField(value = "update_at", fill = FieldFill.UPDATE)
    @JSONField(format = CommonConstant.TIME_FORMAT_EIGHTEEN)
    @ExcelIgnore
    private Date updateAt;

    @ApiModelProperty(value = "数据修改人")
    @TableField("update_by")
    @ExcelIgnore
    private String updateBy;

    @ApiModelProperty(value = "库区名称")
    @ExcelProperty(value = "库区名称",index = 0)
    @TableField("zone_name")
    private String zoneName;

    @ApiModelProperty(value = "库区编码")
    @ExcelProperty(value = "库区编码",index = 1)
    @TableField("zone_code")
    private String zoneCode;

    @ApiModelProperty(value = "仓库编码")
    @ExcelProperty(value = "所属仓库编码",index = 8)
    @TableField("pharm_code")
    private String pharmCode;

    @ApiModelProperty(value = "仓库名称")
    @ExcelProperty(value = "所属仓库名称",index = 9)
    @TableField(exist = false)
    private String pharmName;

    @ApiModelProperty(value = "层数")
    @ExcelProperty(value = "层数",index = 2)
    @TableField("layer_num")
    private Integer layerNum;

    @ApiModelProperty(value = "行数")
    @ExcelProperty(value = "行数",index = 3)
    @TableField("rows_num")
    private Integer rowsNum;

    @ApiModelProperty(value = "列数")
    @ExcelProperty(value = "列数",index = 4)
    @TableField("column_num")
    private Integer columnNum;

    @ApiModelProperty(value = "高限位")
    @ExcelProperty(value = "高限位",index = 6)
    @TableField("high_limit")
    private Integer highLimit;

    @ApiModelProperty(value = "低限位")
    @ExcelProperty(value = "低限位",index = 7)
    @TableField("low_limit")
    private Integer lowLimit;

    @ApiModelProperty(value = "拼音码")
    @TableField("py_code")
    @ExcelIgnore
    private String pyCode;

    @ApiModelProperty(value = "五笔码")
    @TableField("wb_code")
    @ExcelIgnore
    private String wbCode;

    @ApiModelProperty("启用标识 0:停用   1:启用")
    @TableField("enable_flag")
    @ExcelIgnore
    private String enableFlag;

    @ApiModelProperty(value = "总数")
    @ExcelProperty(value = "总数",index = 5)
    @TableField(exist = false)
    private Integer totalNum;
}